from statsmodels.compat.python import lmap, lzip, range
import numpy as np
from scipy.special import gammaln
+try:
+ from scipy.special import loggamma
+except ImportError:
+ loggamma = gammaln
from scipy import stats, special, optimize # opt just for nbin
import statsmodels.tools.tools as tools
from statsmodels.tools import data as data_tools
self._initialize()
def _ll_nbin(self, params, alpha, Q=0):
+ if np.any(np.iscomplex(params)) or np.iscomplex(alpha):
+ gamma_ln = loggamma
+ else:
+ gamma_ln = gammaln
endog = self.endog
mu = self.predict(params)
size = 1/alpha * mu**Q
prob = size/(size+mu)
- coeff = (gammaln(size+endog) - gammaln(endog+1) -
- gammaln(size))
+ coeff = (gamma_ln(size+endog) - gamma_ln(endog+1) -
+ gamma_ln(size))
llf = coeff + size*np.log(prob) + endog*np.log(1-prob)
return llf